<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    // 、promise异常传透?
    // (1) 当使用promise的then链式调用时, 可以在最后指定失败的回调,
    // (2) 前面任何操作出了异常, 都会传到最后失败的回调中处理
	{
		// const p = new Promise((resolve, reject) => {
		// 	reject(100);
        // })
		// // 1- 省略成功回调,成功回调函数相当于 value=>value
        // // const p1 = p.then(undefined);
		// // const p1 = p.then(function(value){
		// // 	return value
        // // });
		// // console.log(p1)
        // // 2- 省略失败回调,失败回调函数相当于reason=>{throw reason}
        // const p1 = p.then();
		// // const p1 = p.then(value=>value,reason=>{
		// // 	throw reason;
        // // })
		// console.log(p1);
    }
	{
		new Promise((resolve,reject)=>{
			setTimeout(()=>{
				resolve(200)
			})
		}).then(value=>{
			console.log(value);// 200
			throw value+1;
		}).then(value=>{
			console.log(value);
			return value+3;
		}).then(value=>{
			console.log(value);
			return value+4;
		}).then(value=>{
			console.log(value);
		}).catch(reason => {
			console.log(reason);// 201
        })
    }
</script>
</html>